/*
Problem Description
输入一个字符串，判断其是否是C的合法标识符。
Input
输入数据包含多个测试实例，数据的第一行是一个整数n,表示测试实例的个数，然后是n行输入数据，
每行是一个长度不超过50的字符串。
Output
对于每组输入数据，输出一行。如果输入数据是C的合法标识符，则输出"yes"，否则，输出“no”。
Sample Input
3
12ajf
fi8x_a
ff  ai_2
Sample Output
no
yes
no
------------------------------------------------------------
1、首元素只能是下划线或是字母，2、除首元素外的元素只能是数字、下划线和字母，
先判断输入的字符串首元素是否符合规则，接着再判断其他元素。
 */
package com.yuan.algorithms.training20150719;

import java.util.Scanner;

public class C语言合法标识符 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int n = sc.nextInt();
			sc.nextLine();
			while (--n >= 0) {
				String str = sc.nextLine();
				if (judge(str)) {
					System.out.println("yes");
				}else {
					System.out.println("no");
				}
			}
		}
	}

	private static boolean judge(String str) {
		char t = str.charAt(0);
		if (!((t == '_') || (t >= 'A' && t <= 'Z') || (t >= 'a' && t <= 'z'))) {
			return false;
		}
		for (int i = 1; i < str.length(); i++) {
			char temp = str.charAt(i);
			if (!((temp >= '0' && temp <= '9') || (temp == '_')
					|| (temp >= 'A' && temp <= 'Z')
					|| (temp >= 'a' && temp <= 'z'))) {
				return false;
			}
		}
		return true;
	}

}
